
// Boost Includes ==============================================================
#include <boost/python.hpp>
#include <boost/cstdint.hpp>

// Includes ====================================================================
#include <OpenSG/OSGSimpleSceneManager.h>

// Using =======================================================================
using namespace boost::python;

// Module ======================================================================
void Export_src_pyste_SimpleSceneManager()
{
    scope* osg_SimpleSceneManager_scope = new scope(
    class_< osg::SimpleSceneManager, boost::noncopyable >("SimpleSceneManager", init<  >())
        .def("create", &osg::SimpleSceneManager::create, return_value_policy< manage_new_object >())
        .def("getRoot", &osg::SimpleSceneManager::getRoot)
        .def("getWindow", &osg::SimpleSceneManager::getWindow)
        .def("getHighlight", &osg::SimpleSceneManager::getHighlight)
        .def("getAction", &osg::SimpleSceneManager::getAction, return_internal_reference< 1 >())
        .def("getNavigator", &osg::SimpleSceneManager::getNavigator, return_internal_reference< 1 >())
        .def("getHeadlightState", &osg::SimpleSceneManager::getHeadlightState)
        .def("getCamera", &osg::SimpleSceneManager::getCamera)
        .def("setAction", &osg::SimpleSceneManager::setAction)
        .def("setRoot", &osg::SimpleSceneManager::setRoot)
        .def("setWindow", &osg::SimpleSceneManager::setWindow)
        .def("setHighlight", &osg::SimpleSceneManager::setHighlight)
        .def("setHeadlight", &osg::SimpleSceneManager::setHeadlight)
        .def("turnHeadlightOn", &osg::SimpleSceneManager::turnHeadlightOn)
        .def("turnHeadlightOff", &osg::SimpleSceneManager::turnHeadlightOff)
        .def("showAll", &osg::SimpleSceneManager::showAll)
        .def("useOpenSGLogo", &osg::SimpleSceneManager::useOpenSGLogo)
        .def("setNavigationMode", &osg::SimpleSceneManager::setNavigationMode)
        .def("setClickCenter", &osg::SimpleSceneManager::setClickCenter)
        .def("setStatistics", &osg::SimpleSceneManager::setStatistics)
        .def("resize", &osg::SimpleSceneManager::resize)
        .def("mouseMove", &osg::SimpleSceneManager::mouseMove)
        .def("mouseButtonPress", &osg::SimpleSceneManager::mouseButtonPress)
        .def("mouseButtonRelease", &osg::SimpleSceneManager::mouseButtonRelease)
        .def("key", &osg::SimpleSceneManager::key)
        .def("calcViewRay", &osg::SimpleSceneManager::calcViewRay)
        .def("redraw", &osg::SimpleSceneManager::redraw)
        .def("idle", &osg::SimpleSceneManager::idle)
        .def( self < self )
    );

    scope().attr("MouseUp") = (int)osg::SimpleSceneManager::MouseUp;
    scope().attr("NoButton") = (int)osg::SimpleSceneManager::NoButton;
    scope().attr("MouseDown") = (int)osg::SimpleSceneManager::MouseDown;
    scope().attr("MouseMiddle") = (int)osg::SimpleSceneManager::MouseMiddle;
    scope().attr("MouseLeft") = (int)osg::SimpleSceneManager::MouseLeft;
    scope().attr("MouseRight") = (int)osg::SimpleSceneManager::MouseRight;

    delete osg_SimpleSceneManager_scope;

}

